package com.qiumo.bills.service.impl;

import com.qiumo.bills.domain.TBill;
import com.qiumo.bills.mapper.TBillMapper;
import com.qiumo.bills.service.ITBillService;
import com.qiumo.bills.vo.BillPageVo;
import com.qiumo.bills.vo.BillVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.List;

/**
 * 账单列表Service业务层处理
 *
 * @author qiumobill
 * @date 2022-06-05
 */
@Service
public class TBillServiceImpl implements ITBillService {
    @Autowired
    private TBillMapper tBillMapper;

    /**
     * 查询账单列表
     *
     * @param id 账单列表主键
     * @return 账单列表
     */
    @Override
    public TBill selectTBillById(Long id) {
        return tBillMapper.selectTBillById(id);
    }

    /**
     * 查询账单列表列表
     *
     * @param tBill 账单列表
     * @return 账单列表
     */
    @Override
    public List<TBill> selectTBillList(TBill tBill) {
        return tBillMapper.selectTBillList(tBill);
    }

    /**
     * 新增账单列表
     *
     * @param tBill 账单列表
     * @return 结果
     */
    @Override
    public int insertTBill(TBill tBill) {
        return tBillMapper.insertTBill(tBill);
    }

    /**
     * 修改账单列表
     *
     * @param tBill 账单列表
     * @return 结果
     */
    @Override
    public int updateTBill(TBill tBill) {
        return tBillMapper.updateTBill(tBill);
    }

    /**
     * 批量删除账单列表
     *
     * @param ids 需要删除的账单列表主键
     * @return 结果
     */
    @Override
    public int deleteTBillByIds(Long[] ids) {
        return tBillMapper.deleteTBillByIds(ids);
    }

    /**
     * 删除账单列表信息
     *
     * @param id 账单列表主键
     * @return 结果
     */
    @Override
    public int deleteTBillById(Long id) {
        return tBillMapper.deleteTBillById(id);
    }

    /**
     * 根据ID获取所有消费
     *
     * @param userId
     * @return
     */
    @Override
    public BigDecimal getAllMoneyById(Long userId) {
        return tBillMapper.getAllMoneyById(userId);

    }

    @Override
    public BigDecimal getMMoneyById(Long userId, int year, int month) {
        return tBillMapper.getMMoneyById(userId, year, month);
    }

    @Override
    public Integer getMNum(Long userId, int year, int month) {
        return tBillMapper.getMNum(userId, year, month);
    }

    @Override
    public List<BillVo> getList(int year, int month) {
        return tBillMapper.getList(year, month);
    }

    @Override
    public List<String> getDayList() {
        return tBillMapper.getDayList();
    }

    @Override
    public List<BigDecimal> getMList() {
        return tBillMapper.getMList();
    }

    @Override
    public List<BillPageVo> getBillFive() {
        return tBillMapper.getBillFive();
    }

    @Override
    public List<BillPageVo> getPage(TBill tBill) {
        return tBillMapper.getPage(tBill);
    }
}
